<?php

/**
 * @author игорь
 * @copyright 2008
 */
/**
 * ErrorWizard
 * 
 * @package   
 * @author inline.org.mw
 * @copyright игорь
 * @version 2009
 * @access public
 */
class ErrorWizard
{
	var $error_codes = array(
		'afisha' => array(
			'del_item_attachment' => array(
				'NO_ERROR' 						=> "Удалено",
				'ERROR_NO_CLAUSE' 				=> "Не задано условие для удаления объекта",
				'ERROR_INSUFFICIENTLY_CLAUSE' 	=> "Недостаточно условий для удаления объекта",
				'ERROR_NO_OBJECT' 				=> "Не найден объект для удаления",
				'ERROR_NON_EXISTENT_OBJECT' 	=> "Несуществующий объект (либо удаленный ранее)",
				'ERROR_NO_DELETE_ATTACHMENT_TYPE' 	=> "Не указан тип файла, ассоциированного с объектом",
				'ERROR_DELETE_ATTACHMENT' 		=> "Ошибка во время удаления файла, ассоциированного с объектом"
			),
			'del_item' => array(
				'NO_ERROR' 					=> "Удалено",
				'NO_CLAUSE' 				=> "Не задано условие для удаления",
				'NO_CLAUSE' 				=> "Не задано условие для удаления"
			)
		),
		'video' => array(
			'del_item_attachment' => array(
				'NO_ERROR' 						=> "Удалено",
				'ERROR_NO_CLAUSE' 				=> "Не задано условие для удаления объекта",
				'ERROR_INSUFFICIENTLY_CLAUSE' 	=> "Недостаточно условий для удаления объекта",
				'ERROR_NO_OBJECT' 				=> "Не найден объект для удаления",
				'ERROR_NON_EXISTENT_OBJECT' 	=> "Несуществующий объект (либо удаленный ранее)",
				'ERROR_NO_DELETE_ATTACHMENT_TYPE' 	=> "Не указан тип файла, ассоциированного с объектом",
				'ERROR_DELETE_ATTACHMENT' 		=> "Ошибка во время удаления файла, ассоциированного с объектом"
			),
			'del_item' => array(
				'NO_ERROR' 					=> "Удалено",
				'NO_CLAUSE' 				=> "Не задано условие для удаления",
				'NO_CLAUSE' 				=> "Не задано условие для удаления"
			),
			'add_item' => array(
				'NO_ERROR' 							=> "Объект добавлен",
				'ERROR_NO_TITLE' 					=> "Не указано название объекта",
				'ERROR_TITLE_HAS_DENIED_SYMBOLS' 	=> "В названии объекта содержатся запрещенные символы",
				'ERROR_NO_ALIAS' 					=> "Не указан алиас объекта",
				'ERROR_ALIAS_HAS_DENIED_SYMBOLS' 	=> "В алиас объекта содержатся запрещенные символы",
				'ERROR_DUPLICATED ALIAS' 			=> "Такой алиас уже существует",
				'ERROR_SQL_INSERT' 					=> "Ошибка при вставке данных в БД"
			),
			'edit_item' => array(
				'NO_ERROR' 							=> "Объект обновлен",
				'ERROR_NO_TITLE' 					=> "Не указано название объекта",
				'ERROR_TITLE_HAS_DENIED_SYMBOLS' 	=> "В названии объекта содержатся запрещенные символы",
				'ERROR_NO_ALIAS' 					=> "Не указан алиас объекта",
				'ERROR_ALIAS_HAS_DENIED_SYMBOLS' 	=> "В алиас объекта содержатся запрещенные символы",
				'ERROR_DUPLICATED ALIAS' 			=> "Такой алиас уже существует",
				'ERROR_SQL_UPDATE' 					=> "Ошибка при обновлении данных в БД"
			)
		)
	);
	/**
	 * ErrorWizard::__construct()
	 * 
	 * @return
	 */
	function __construct(){}
	
	/**
	 * ErrorWizard::getError()
	 * 
	 * @return string or false
	 */
	function getError($code = '',$function = 'main',$module='content')
	{
		if(!empty($code) and !empty($function) and !empty($module))
		{
			$text = $this->error_codes[$module][$function][$code];
			return $text;
		}
		else return false;
		
	}
	/**
	 * ErrorWizard::constructErrorMessage()
	 * 
	 * @return string or false
	 */
	function constructErrorMessage($error_text,$file = '',$line = '')
	{
		if(!empty($error_text) or $error_text != false)
		{
			$ErrorMessage = $error_text.'.';
			if(!empty($file))
			{
				$ErrorMessage = $ErrorMessage.' Файл: '.$file.'.';
			}
			if(!empty($line))
			{
				$ErrorMessage = $ErrorMessage.' Строка: '.$line.'.';
			}
			$this->last = array(
				'error_text' 	=> $error_text,
				'file' 			=> $file,
				'line' 			=> $line
			);
			return $ErrorMessage;
		}
		else return false;
	}
}


?>